package com.zp.drug.entity.vo;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.zp.common.excel.annotation.ExcelDictFormat;
import com.zp.common.excel.convert.ExcelDictConvert;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;


/**
 * 药品价表日志视图对象
 *
 * @author zhang peng
 * @ date 2023-06-16
 */
@Data
@ExcelIgnoreUnannotated
public class DrugPriceLogVo {

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @ExcelProperty(value = "主键")
    private String id;

    /**
     * 药品信息ID
     */
    @ExcelProperty(value = "药品信息ID")
    private String drugInfoId;

    /**
     * 药品价格ID
     */
    @ExcelProperty(value = "药品价格ID")
    private String drugPriceId;

    /**
     * 医保类型
     */
    @ExcelProperty(value = "医保类型")
    private String medicalInsuranceType;

    /**
     * 价表ID
     */
    @ExcelProperty(value = "价表ID")
    private String priceId;

    /**
     * 包装规格
     */
    @ExcelProperty(value = "包装规格")
    private String packageSpec;

    /**
     * 药品单位
     */
    @ExcelProperty(value = "药品单位", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "dose_unit")
    private String packageUnits;

    /**
     * 网络价格
     */
    @ExcelProperty(value = "网络价格")
    private BigDecimal networkPrice;

    /**
     * 进价
     */
    @ExcelProperty(value = "进价")
    private BigDecimal tradePrice;

    /**
     * 市场零售价
     */
    @ExcelProperty(value = "市场零售价")
    private BigDecimal retailPrice;

    /**
     * 起用日期
     */
    @ExcelProperty(value = "起用日期")
    private Date startDate;

    /**
     * 停止日期
     */
    @ExcelProperty(value = "停止日期")
    private Date stopDate;

    /**
     * 门诊费用分类
     */
    @ExcelProperty(value = "门诊费用分类", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "outp_rcpt_fee_dict")
    private String classOnRcpt;

    /**
     * 住院费用分类
     */
    @ExcelProperty(value = "住院费用分类", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "inp_rcpt_fee_dict")
    private String classOnInp;

    /**
     * 核算项目分类
     */
    @ExcelProperty(value = "核算项目分类", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "reck_item_class_dict")
    private String classOnReckoning;

    /**
     * 会计科目
     */
    @ExcelProperty(value = "会计科目", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "tally_subject_dict")
    private String subjCode;

    /**
     * 病案首页分类
     */
    @ExcelProperty(value = "病案首页分类", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "mr_fee_class_dict")
    private String classOnMr;

    /**
     * 最高限价
     */
    @ExcelProperty(value = "最高限价")
    private BigDecimal priceMax;

    /**
     * 是否是最新药品价格
     */
    @ExcelProperty(value = "是否是最新药品价格")
    private String isNew;

    /**
     * 机构ID
     */
    @ExcelProperty(value = "机构ID")
    private String orgId;

    /**
     * 备注信息
     */
    @ExcelProperty(value = "备注信息")
    private String remarks;

    /**
     * 比例
     */
    @ExcelProperty(value = "比例")
    private BigDecimal ratio;

    /**
     * 操作类型0-新增；1-修改；2-调价；3停价；4-启用；9-其他
     */
    @ExcelProperty(value = "操作类型0-新增；1-修改；2-调价；3停价；4-启用；9-其他")
    private String operationType;

    /**
     * 药品代码
     */
    @ExcelProperty(value = "药品代码")
    private String drugCode;

    /**
     * 药品名称
     */
    @ExcelProperty(value = "药品名称")
    private String drugName;

    /**
     * 创建者
     */
    @TableField(fill = FieldFill.INSERT)
    private String createBy;

    /**
     * 创建时间
     */
    @TableField(fill = FieldFill.INSERT)
    private Date createTime;


}
